#ifndef _GHOST_H
#define _GHOST_H

#include "Object.h"

#define GHOST_VX			0.10
#define GHOST_GRAVITY		0.01

 

/************************************************************************/
/* Ghost                                                                    */
/************************************************************************/

class Ghost : public Object
{
private:
	bool is_turn_left;
 
 

	float timeDie;

	bool isGravity;

	Sprite* p_light;
public:
	

	/*
	 *	get/set properties
	 */
	OBJECT_TYPE getObjectType();
	bool getWay();

	/*
	 *	constructor/destructor
	 */	
	Ghost(LPDIRECT3DDEVICE9 d3ddv,  LPDIRECT3DSURFACE9 BackBuffer, LPD3DXSPRITE SpriteHandler, float x, float y, int ID, int Object_State, int Direction);
	~Ghost();

	/*
	 *	Method
	 */
	void turnLeft();
	void turnRight();

	void move(list<Object*>* obj_list, float TPF);
	void move(list<Object*>* obj_list, float TPF, Object* simon);

	void update(list<Object*>* obj_list, DxInput* input, float TPF);
	void update(list<Object*>* obj_list, DxInput* input, float TPF, Object* simon);

	void render(int cameraX, int cameraY);

	void changeState(int state);
};

#endif